package com.opal.modules.costReportForm.entity.table;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CostApprovalsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CostApprovalsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andApprovalsIdIsNull() {
            addCriterion("approvals_id is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdIsNotNull() {
            addCriterion("approvals_id is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdEqualTo(Long value) {
            addCriterion("approvals_id =", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdNotEqualTo(Long value) {
            addCriterion("approvals_id <>", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdGreaterThan(Long value) {
            addCriterion("approvals_id >", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdGreaterThanOrEqualTo(Long value) {
            addCriterion("approvals_id >=", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdLessThan(Long value) {
            addCriterion("approvals_id <", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdLessThanOrEqualTo(Long value) {
            addCriterion("approvals_id <=", value, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdIn(List<Long> values) {
            addCriterion("approvals_id in", values, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdNotIn(List<Long> values) {
            addCriterion("approvals_id not in", values, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdBetween(Long value1, Long value2) {
            addCriterion("approvals_id between", value1, value2, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsIdNotBetween(Long value1, Long value2) {
            addCriterion("approvals_id not between", value1, value2, "approvalsId");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstIsNull() {
            addCriterion("approvals_procinst is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstIsNotNull() {
            addCriterion("approvals_procinst is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstEqualTo(String value) {
            addCriterion("approvals_procinst =", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstNotEqualTo(String value) {
            addCriterion("approvals_procinst <>", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstGreaterThan(String value) {
            addCriterion("approvals_procinst >", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_procinst >=", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstLessThan(String value) {
            addCriterion("approvals_procinst <", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstLessThanOrEqualTo(String value) {
            addCriterion("approvals_procinst <=", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstLike(String value) {
            addCriterion("approvals_procinst like", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstNotLike(String value) {
            addCriterion("approvals_procinst not like", value, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstIn(List<String> values) {
            addCriterion("approvals_procinst in", values, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstNotIn(List<String> values) {
            addCriterion("approvals_procinst not in", values, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstBetween(String value1, String value2) {
            addCriterion("approvals_procinst between", value1, value2, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andApprovalsProcinstNotBetween(String value1, String value2) {
            addCriterion("approvals_procinst not between", value1, value2, "approvalsProcinst");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameIsNull() {
            addCriterion("approvals_name is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameIsNotNull() {
            addCriterion("approvals_name is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameEqualTo(String value) {
            addCriterion("approvals_name =", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameNotEqualTo(String value) {
            addCriterion("approvals_name <>", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameGreaterThan(String value) {
            addCriterion("approvals_name >", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_name >=", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameLessThan(String value) {
            addCriterion("approvals_name <", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameLessThanOrEqualTo(String value) {
            addCriterion("approvals_name <=", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameLike(String value) {
            addCriterion("approvals_name like", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameNotLike(String value) {
            addCriterion("approvals_name not like", value, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameIn(List<String> values) {
            addCriterion("approvals_name in", values, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameNotIn(List<String> values) {
            addCriterion("approvals_name not in", values, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameBetween(String value1, String value2) {
            addCriterion("approvals_name between", value1, value2, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsNameNotBetween(String value1, String value2) {
            addCriterion("approvals_name not between", value1, value2, "approvalsName");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdIsNull() {
            addCriterion("approvals_task_id is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdIsNotNull() {
            addCriterion("approvals_task_id is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdEqualTo(String value) {
            addCriterion("approvals_task_id =", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdNotEqualTo(String value) {
            addCriterion("approvals_task_id <>", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdGreaterThan(String value) {
            addCriterion("approvals_task_id >", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_task_id >=", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdLessThan(String value) {
            addCriterion("approvals_task_id <", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdLessThanOrEqualTo(String value) {
            addCriterion("approvals_task_id <=", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdLike(String value) {
            addCriterion("approvals_task_id like", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdNotLike(String value) {
            addCriterion("approvals_task_id not like", value, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdIn(List<String> values) {
            addCriterion("approvals_task_id in", values, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdNotIn(List<String> values) {
            addCriterion("approvals_task_id not in", values, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdBetween(String value1, String value2) {
            addCriterion("approvals_task_id between", value1, value2, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsTaskIdNotBetween(String value1, String value2) {
            addCriterion("approvals_task_id not between", value1, value2, "approvalsTaskId");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerIsNull() {
            addCriterion("approvals_proposer is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerIsNotNull() {
            addCriterion("approvals_proposer is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerEqualTo(String value) {
            addCriterion("approvals_proposer =", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerNotEqualTo(String value) {
            addCriterion("approvals_proposer <>", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerGreaterThan(String value) {
            addCriterion("approvals_proposer >", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_proposer >=", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerLessThan(String value) {
            addCriterion("approvals_proposer <", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerLessThanOrEqualTo(String value) {
            addCriterion("approvals_proposer <=", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerLike(String value) {
            addCriterion("approvals_proposer like", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerNotLike(String value) {
            addCriterion("approvals_proposer not like", value, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerIn(List<String> values) {
            addCriterion("approvals_proposer in", values, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerNotIn(List<String> values) {
            addCriterion("approvals_proposer not in", values, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerBetween(String value1, String value2) {
            addCriterion("approvals_proposer between", value1, value2, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsProposerNotBetween(String value1, String value2) {
            addCriterion("approvals_proposer not between", value1, value2, "approvalsProposer");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionIsNull() {
            addCriterion("approvals_description is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionIsNotNull() {
            addCriterion("approvals_description is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionEqualTo(String value) {
            addCriterion("approvals_description =", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionNotEqualTo(String value) {
            addCriterion("approvals_description <>", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionGreaterThan(String value) {
            addCriterion("approvals_description >", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_description >=", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionLessThan(String value) {
            addCriterion("approvals_description <", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionLessThanOrEqualTo(String value) {
            addCriterion("approvals_description <=", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionLike(String value) {
            addCriterion("approvals_description like", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionNotLike(String value) {
            addCriterion("approvals_description not like", value, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionIn(List<String> values) {
            addCriterion("approvals_description in", values, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionNotIn(List<String> values) {
            addCriterion("approvals_description not in", values, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionBetween(String value1, String value2) {
            addCriterion("approvals_description between", value1, value2, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsDescriptionNotBetween(String value1, String value2) {
            addCriterion("approvals_description not between", value1, value2, "approvalsDescription");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsIsNull() {
            addCriterion("approvals_receipts is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsIsNotNull() {
            addCriterion("approvals_receipts is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsEqualTo(String value) {
            addCriterion("approvals_receipts =", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsNotEqualTo(String value) {
            addCriterion("approvals_receipts <>", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsGreaterThan(String value) {
            addCriterion("approvals_receipts >", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_receipts >=", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsLessThan(String value) {
            addCriterion("approvals_receipts <", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsLessThanOrEqualTo(String value) {
            addCriterion("approvals_receipts <=", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsLike(String value) {
            addCriterion("approvals_receipts like", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsNotLike(String value) {
            addCriterion("approvals_receipts not like", value, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsIn(List<String> values) {
            addCriterion("approvals_receipts in", values, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsNotIn(List<String> values) {
            addCriterion("approvals_receipts not in", values, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsBetween(String value1, String value2) {
            addCriterion("approvals_receipts between", value1, value2, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsReceiptsNotBetween(String value1, String value2) {
            addCriterion("approvals_receipts not between", value1, value2, "approvalsReceipts");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusIsNull() {
            addCriterion("approvals_status is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusIsNotNull() {
            addCriterion("approvals_status is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusEqualTo(Integer value) {
            addCriterion("approvals_status =", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusNotEqualTo(Integer value) {
            addCriterion("approvals_status <>", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusGreaterThan(Integer value) {
            addCriterion("approvals_status >", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("approvals_status >=", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusLessThan(Integer value) {
            addCriterion("approvals_status <", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusLessThanOrEqualTo(Integer value) {
            addCriterion("approvals_status <=", value, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusIn(List<Integer> values) {
            addCriterion("approvals_status in", values, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusNotIn(List<Integer> values) {
            addCriterion("approvals_status not in", values, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusBetween(Integer value1, Integer value2) {
            addCriterion("approvals_status between", value1, value2, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("approvals_status not between", value1, value2, "approvalsStatus");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionIsNull() {
            addCriterion("approvals_auditOpinion is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionIsNotNull() {
            addCriterion("approvals_auditOpinion is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionEqualTo(String value) {
            addCriterion("approvals_auditOpinion =", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionNotEqualTo(String value) {
            addCriterion("approvals_auditOpinion <>", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionGreaterThan(String value) {
            addCriterion("approvals_auditOpinion >", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionGreaterThanOrEqualTo(String value) {
            addCriterion("approvals_auditOpinion >=", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionLessThan(String value) {
            addCriterion("approvals_auditOpinion <", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionLessThanOrEqualTo(String value) {
            addCriterion("approvals_auditOpinion <=", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionLike(String value) {
            addCriterion("approvals_auditOpinion like", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionNotLike(String value) {
            addCriterion("approvals_auditOpinion not like", value, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionIn(List<String> values) {
            addCriterion("approvals_auditOpinion in", values, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionNotIn(List<String> values) {
            addCriterion("approvals_auditOpinion not in", values, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionBetween(String value1, String value2) {
            addCriterion("approvals_auditOpinion between", value1, value2, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsAuditopinionNotBetween(String value1, String value2) {
            addCriterion("approvals_auditOpinion not between", value1, value2, "approvalsAuditopinion");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumIsNull() {
            addCriterion("approvals_num is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumIsNotNull() {
            addCriterion("approvals_num is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumEqualTo(Integer value) {
            addCriterion("approvals_num =", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumNotEqualTo(Integer value) {
            addCriterion("approvals_num <>", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumGreaterThan(Integer value) {
            addCriterion("approvals_num >", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("approvals_num >=", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumLessThan(Integer value) {
            addCriterion("approvals_num <", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumLessThanOrEqualTo(Integer value) {
            addCriterion("approvals_num <=", value, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumIn(List<Integer> values) {
            addCriterion("approvals_num in", values, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumNotIn(List<Integer> values) {
            addCriterion("approvals_num not in", values, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumBetween(Integer value1, Integer value2) {
            addCriterion("approvals_num between", value1, value2, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsNumNotBetween(Integer value1, Integer value2) {
            addCriterion("approvals_num not between", value1, value2, "approvalsNum");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedIsNull() {
            addCriterion("approvals_created is null");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedIsNotNull() {
            addCriterion("approvals_created is not null");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedEqualTo(Date value) {
            addCriterion("approvals_created =", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedNotEqualTo(Date value) {
            addCriterion("approvals_created <>", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedGreaterThan(Date value) {
            addCriterion("approvals_created >", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedGreaterThanOrEqualTo(Date value) {
            addCriterion("approvals_created >=", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedLessThan(Date value) {
            addCriterion("approvals_created <", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedLessThanOrEqualTo(Date value) {
            addCriterion("approvals_created <=", value, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedIn(List<Date> values) {
            addCriterion("approvals_created in", values, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedNotIn(List<Date> values) {
            addCriterion("approvals_created not in", values, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedBetween(Date value1, Date value2) {
            addCriterion("approvals_created between", value1, value2, "approvalsCreated");
            return (Criteria) this;
        }

        public Criteria andApprovalsCreatedNotBetween(Date value1, Date value2) {
            addCriterion("approvals_created not between", value1, value2, "approvalsCreated");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}